<?php

class registroservicio extends CI_Model{
    var $id;
    var $t_entidad_id;
    var $t_personas_id;
    var $t_estado_auditoria_id;
    var $fecha_programada;
    var $fecha_realizada;
    var $personal_auditado;
    var $observaciones_grales;

    function __construct()
    {
        parent::__construct();
    }
    
   
    function listarServicios($id, $consulta)
    {
        if ($consulta==0)
        {
            $this->db->select("t_auditoria.id, t_servicio.codigo, t_servicio.nombre, t_servicio.id as idservicio, t_auditoria_servicio.raciones_almuerzo, t_auditoria_servicio.raciones_copa, t_auditoria_servicio.valor");
            $this->db->join("t_entidad_servicio","t_entidad_servicio.t_entidad_id = t_auditoria.t_entidad_id");
            $this->db->join("t_servicio","t_servicio.id = t_entidad_servicio.t_servicio_id","left");
            $this->db->join("t_auditoria_servicio","t_auditoria.id = t_auditoria_servicio.t_auditoria_id","left");
            $this->db->order_by("t_servicio.codigo","asc");
        }else{
            $this->db->select("t_auditoria.id,t_menu.nombre as menu,t_postre.nombre as postre, t_auditoria_servicio_menu.temperatura, t_servicio.codigo, t_servicio.nombre, t_servicio.id as idservicio, t_auditoria_servicio.raciones_almuerzo, t_auditoria_servicio.raciones_copa, t_auditoria_servicio.valor");
            $this->db->join("t_entidad_servicio","t_auditoria.t_entidad_id=t_entidad_servicio.t_entidad_id");
            $this->db->join("t_auditoria_servicio","t_auditoria.id = t_auditoria_servicio.t_auditoria_id and t_entidad_servicio.t_servicio_id=t_auditoria_servicio.t_servicio_id");
            $this->db->join("t_servicio","t_servicio.id = t_auditoria_servicio.t_servicio_id ");
            $this->db->join("t_auditoria_servicio_menu","t_auditoria_servicio.t_auditoria_id = t_auditoria_servicio_menu.t_auditoria_id and t_auditoria_servicio.t_servicio_id=t_auditoria_servicio_menu.t_servicio_id and t_entidad_servicio.t_servicio_id=t_auditoria_servicio_menu.t_servicio_id");
            $this->db->join("t_menu","t_menu.id = t_auditoria_servicio_menu.t_menu_id and t_auditoria_servicio_menu.t_servicio_id=t_auditoria_servicio.t_servicio_id and t_auditoria.id=t_auditoria_servicio_menu.t_auditoria_id ");
            $this->db->join("t_menu as t_postre","t_postre.id = t_auditoria_servicio_menu.t_postre_id");
            $this->db->order_by("t_servicio.codigo","asc");
        }
        $condiciones = array (
                        't_auditoria.id'=>$id
                        );
        $resultado = $this->db->get_where('t_auditoria',$condiciones);
        return $resultado->result();
    }
    
    function listarResultados($id)
    {
        $this->db->select("t_auditoria.id, t_auditoria.fecha_programada,t_auditoria_indicador.valor as resultado,t_repuesta.alerta, t_repuesta.valor,t_auditoria.fecha_realizada, t_indicador.codigo, t_indicador.id as idindicador, t_indicador.nombre as indicador, t_grupo_indicador.nombre as grupo,t_indicador.ponderacion,t_indicador.t_grupo_indicador_id,t_auditoria.personal_auditado,t_auditoria.observaciones_grales,t_entidad.nombre as entidad,t_personas.nombre, t_personas.apellido,t_estado_auditoria.nombre as estado");
        //$this->db->from('t_auditoria');
        $this->db->join("t_auditoria_indicador","t_auditoria_indicador.t_auditoria_id = t_auditoria.id");
        $this->db->join("t_entidad","t_entidad.id = t_auditoria.t_entidad_id");
        $this->db->join("t_tipo_auditoria","t_tipo_auditoria.id = t_auditoria.t_tipo_auditoria_id");
        $this->db->join("t_personas","t_personas.id = t_auditoria.t_personas_id");
        $this->db->join("t_estado_auditoria","t_estado_auditoria.id = t_auditoria.t_estado_auditoria_id");
        $this->db->join("t_grupo_indicador","t_tipo_auditoria.id = t_grupo_indicador.t_tipo_auditoria_id");
        $this->db->join("t_indicador","t_indicador.t_grupo_indicador_id = t_grupo_indicador.id and t_auditoria_indicador.t_indicador_id = t_indicador.id");
        $this->db->join("t_tipo_respuesta","t_tipo_respuesta.id = t_tipo_auditoria.t_tipo_respuesta_id");
        $this->db->join("t_repuesta","t_tipo_respuesta.id=t_repuesta.t_tipo_respuesta_id and t_auditoria_indicador.valor = t_repuesta.id");
        $this->db->order_by("t_indicador.codigo","asc");
       //$this->db->where('t_repuesta.alerta >',0);
        $condiciones = array (
                't_auditoria.id'=>$id
                );
        
        $resultado = $this->db->get_where('t_auditoria',$condiciones);
        return $resultado->result();
    }
    
    function porcentajesGrupos($id)
    {
        $this->db->select("sum(`t_repuesta`.`alerta`*`t_indicador`.`ponderacion`) as `resultado`, sum(`t_indicador`.`ponderacion`) as `ponderacion`, `t_grupo_indicador`.`nombre` as `grupo`, `t_indicador`.`t_grupo_indicador_id`, (sum(`t_repuesta`.`alerta`*`t_indicador`.`ponderacion`)/sum(`t_indicador`.`ponderacion`)*100) as porcentaje");
        //$this->db->from('t_auditoria');
        $this->db->join("t_auditoria_indicador","t_auditoria_indicador.t_auditoria_id = t_auditoria.id");
        $this->db->join("t_tipo_auditoria","t_tipo_auditoria.id = t_auditoria.t_tipo_auditoria_id");
        $this->db->join("t_grupo_indicador","t_tipo_auditoria.id = t_grupo_indicador.t_tipo_auditoria_id");
        $this->db->join("t_indicador","t_indicador.t_grupo_indicador_id = t_grupo_indicador.id and t_auditoria_indicador.t_indicador_id = t_indicador.id");
        $this->db->join("t_tipo_respuesta","t_tipo_respuesta.id = t_tipo_auditoria.t_tipo_respuesta_id");
        $this->db->join("t_repuesta","t_tipo_respuesta.id=t_repuesta.t_tipo_respuesta_id and t_auditoria_indicador.valor = t_repuesta.id");
        $this->db->group_by(array("t_grupo_indicador.nombre", "t_indicador.t_grupo_indicador_id"));
        $this->db->order_by("t_indicador.codigo","asc");
       //$this->db->where('t_repuesta.alerta >',0);
        $condiciones = array (
                't_auditoria.id'=>$id
                );
        
        $resultado = $this->db->get_where('t_auditoria',$condiciones);
        return $resultado->result();
    }
    
    function listarMenus($tipo){
        $this->db->select('t_menu.id, t_menu.nombre');
        $this->db->from('t_menu');
        if ($tipo==0 || $tipo==1){
            $this->db->where('t_menu.tipo', $tipo);
        }
        $this->db->where('t_menu.eliminado', 0);
        $query = $this->db->get();        
        
        return $query->result();
                
    } 
    
    function registrarserv($id){
       // if($id_tipo == $_POST['id']){
       for ($i = 1; $i <= $_POST['cantidad']; $i++) {   

            $sql_audit="INSERT INTO t_auditoria_servicio (t_auditoria_id, t_servicio_id, valor,raciones_almuerzo, raciones_copa) 
            values('".$id."','".$_POST["idservicio$i"]."','".$_POST["valor$i"]."','".$_POST["raciones_almuerzo$i"]."','".$_POST["raciones_copa$i"]."')"; 

            $this->db->trans_start();
            $this->db->query($sql_audit);
            $this->db->trans_complete();
            
            
            $sql_audit="INSERT INTO t_auditoria_servicio_menu (t_auditoria_id, t_servicio_id,t_menu_id,t_postre_id, temperatura) 
            values('".$id."','".$_POST["idservicio$i"]."','".$_POST["menu$i"]."','".$_POST["postre$i"]."','".$_POST["temperatura$i"]."')"; 

            $this->db->trans_start();
            $this->db->query($sql_audit);
            $this->db->trans_complete();
             
       } 

        if($this->db->trans_status() == FALSE)
        {
           show_error('Error en la insercion. CODIGO: ' . $this->db->_error_message());
        }else{
           header('Location: ' . base_url() . 'cauditoria/consultar' ); 
        }  
         
         
    }
    
}



